package dao;

import Modelo.LocaisVisitados;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class LocalVisitadoDAO {
    public Boolean Cadastrar(LocaisVisitados obj) throws SQLException{
        Boolean retorno = false;
        String sql = "INSERT INTO localvisitado (nome, atendente)" + "VALUES(?, ?)";
        PreparedStatement psm = Conexao.getPreparedStatement(sql);
        
        try {
            psm.setString(1, obj.getNomelocal());
            psm.setString(2, obj.getNomeatendente());
            
            Integer resultado = psm.executeUpdate();
            if(resultado > 0){
                retorno = true;
            }else{
                retorno = false;
            }
        }catch (SQLException ex){
            System.out.println("Erro ao acessar o Banco de Dados" + ex.getMessage());
            return false;
        }
        return retorno;
    }
    
    public Boolean Excluir(LocaisVisitados obj){
        Boolean retorno = false;
        String sql = "DELETE FROM localvisitado WHERE localvisitadoid = ?";
        PreparedStatement psm = Conexao.getPreparedStatement(sql);
        try {
            psm.setInt(1, obj.getLocalvisitadoid());
            //psm.setString(1, obj.getNomelocal());
            Integer resultado = psm.executeUpdate();
            if(resultado > 0){
                retorno = true;
            }
        } catch (SQLException ex){
            System.out.println("Erro ao conectar com o banco: " + ex.getMessage());
        }
        return retorno;
    }
    
    public List<LocaisVisitados> Listar(){
        List<LocaisVisitados> lista = new ArrayList<LocaisVisitados>();
        String sql = "SELECT * FROM localvisitado";
            PreparedStatement psm = Conexao.getPreparedStatement(sql);
            try {
                ResultSet resultado = psm.executeQuery();
                
                while(resultado.next()){
                    LocaisVisitados obj = new LocaisVisitados();
                    obj.setLocalvisitadoid(resultado.getInt("localvisitadoid"));
                    obj.setNomelocal(resultado.getString("nome"));
                    obj.setNomeatendente(resultado.getString("atendente"));
                }
            } catch(SQLException ex){
                System.out.println("Erro ao acessar o banco");
                lista = null;
            }
        return lista;
    }
}
